<?php
if(file_exists($ruta.$archivo)) {
    set_time_limit(0);
    ini_set('memory_limit', -1);
    $this->PhpExcel->Excel($ruta.$archivo, array('tipo' => 'CSV', 'separador' => "\t", 'delimitador' => ''));
    $objPHPExcel = $this->PhpExcel->leer->load($ruta.$archivo);
    $datafinal = $titulos = array();
    $objWorksheet = $objPHPExcel->getActiveSheet();
    $error_formato = false;
    $msj = 'Error en el formato del archivo';
    foreach ($objWorksheet->getRowIterator() as $fila) {
        if($error_formato)
            break;
        $numFila = $fila->getRowIndex();
        if($numFila >= 4) {
            $iteradorCelda = $fila->getCellIterator();
            $iteradorCelda->setIterateOnlyExistingCells(true); // Recorre todas las celdas, incluso si no estan seteadas
            foreach ($iteradorCelda as $celda) {
                $valor = trim($celda->getValue());
                if (in_array($celda->getColumn(), array('B', 'C', 'D', 'E', 'F', 'G'))) {
                    $valorNuevo = addslashes($valor);
                    $valorNuevo = str_replace('\0', '', $valorNuevo);
                    $valorNuevo = stripslashes($valorNuevo);
                    $valorNuevo = str_replace('.', '', $valorNuevo);
                    $valorNuevo = str_replace(',', '.', $valorNuevo);
                    switch($celda->getColumn()) {
                        case 'B':
                        case 'E':
                            if(!is_numeric($valorNuevo) || ($valorNuevo == '')) {
                                $error_formato = true;
                                $msj = "El Material en la celda {$celda->getCoordinate()} es Alfanumérico";
                            }
                        break;
                        case 'D':
                            if($valorNuevo != $tienda) {
                                $error_formato = true;
                                $msj = "El Material en la celda {$celda->getCoordinate()} no pertenece a la Tienda seleccionada";
                            }
                        break;
                    }
                    
                    if(!$error_formato)
                        $datafinal[$numFila][$celda->getCoordinate()] = $valor;
                }
            }
        }
    }
    
    if($error_formato){        
        $datafinal = null;
        $this->Vista->mensaje($msj,'ALERTA');
    }
    
    $compactada = serialize($datafinal);
    $final = urlencode($compactada);
    $total = count($datafinal);

    echo $this->Interfaz->filset('Inventario a Procesar',0,0,'gray',0);
?>
<?php echo "Total de Materiales en el Archivo: <b>$total</b>"; ?>
<br />
<table border='0' cellpadding='0' cellspacing='0' width='98%' align='center' style="border:5;">
    <tr>
        <td class="labeln" valign='top'>
            <div id="photolayesss" style="z-index: 1; width: 700px;height: 245px; border-width:1px; border-style:solid; border-color:#ff9900;">
            <?php
                $this->Vista->paginador_inicio();
                foreach($datafinal as $indice => $valor) {
                    if(empty($valor["F$indice"]))
                        $valor["F$indice"] = '-';
                    $valor["C$indice"] = str_replace("'", '', $valor["C$indice"]);
                    $valor["C$indice"] = str_replace('"', '', $valor["C$indice"]);
                    $this->Vista->paginador_td($busq, array(
                        array($valor["B$indice"]),
                        array($valor["C$indice"]),
                        //array($valor["D$indice"]),
                        array($valor["E$indice"]),
                        //array($valor["F$indice"]),
                        array($valor["G$indice"])
                        )
                    );
                    if($indice == 503)
                        break;
                }
                $titulos = array(
                    array('Material', '120', 'c'),
                    array('Texto breve de Mat', 'auto', 'l'),
                    //array('Ce.', 'auto', 'c'),
                    array('Cant. SAP', '80', 'c'),
                    //array('Lote', 'auto', 'c'),
                    array('UMB', '80', 'c')
                );
                $this->Vista->paginador_fin(20, $titulos, 1, 1, 'INVENTARIO');
            ?>
            </div> 
        </td>
    </tr>
    <tr>
        <td>
            <table border='0' width='100%'>
                 <tr>
                    <td colspan='2' align='center'>
                        <?php
                            if(!$error_formato) {
                                echo $this->Interfaz->inputoculto('datos', $final);
                        ?>
                                <input type='button' id='abuttonarchivo' value='PROCESAR' style="cursor:pointer;height:23px; width: 135px;" class="x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon x-btn-center" Onclick="EnviaFormulario('ajuste_inventario', 'Sigesp/ajuste_inventario_procesar', '<?php echo $id_formulario;?>', 'cargando');"/>
                        <?php
                            }
                        ?>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
<br />
<?php echo $this->Interfaz->filset();?>
</div>
<div id='ver_detalles_error'></div>
<?php
} else {
    echo $this->Interfaz->filset('Inventario a Procesar',0,0,'gray',0);
?>
<br />
<table border='0' cellpadding='15' cellspacing='15' width='98%' align='center' style="border:5;">
    <tr>
        <td class="labeln" valign='top'>
            <div id="photolayesss" style="z-index: 1; width: 700px;height: 245px; border-width:1px; border-style:solid; border-color:#ff9900;"><?php echo "Archivo no existe"; ?></div><br />
        </td>
    </tr>
</table>
<br />
<?php
    echo $this->Interfaz->filset();
}
?>